Skip to content

feat: 사용자 프로필 조회 및 수정 기능 구현#23

Merged
joungGo merged 4 commits intodevelopfrom
joungGo/feat-3
Apr 16, 2025
Merged

feat: 사용자 프로필 조회 및 수정 기능 구현#23
joungGo merged 4 commits intodevelopfrom
joungGo/feat-3

Conversation

@joungGo
Copy link
Copy Markdown
Owner

@joungGo joungGo commented Apr 16, 2025

사용자 프로필 관리 핵심 개념 및 코드

항목 설명 관련 코드
기본 구조 User 엔티티는 사용자 정보를 저장하고 Spring Security의 UserDetails 인터페이스 구현 public class User implements UserDetails
사용자 기본 정보 프로필의 핵심 데이터 필드 email, password, username, phoneNumber
주소 관리 사용자의 다수 배송지 관리 @OneToMany(mappedBy = "user", cascade = CascadeType.ALL, orphanRemoval = true) private List<Address> addresses
연관 엔티티 사용자와 연결된 다른 비즈니스 객체들 cartItems, orders, reviews
프로필 수정 메소드 사용자 정보 업데이트 기능 updatePassword(), updateUsername(), updatePhoneNumber()
사용자 인증/권한 Spring Security 구현 roles, getAuthorities()
계정 상태 관리 계정 활성화 및 잠금 상태 확인 isAccountNonExpired(), isAccountNonLocked(), isCredentialsNonExpired(), isEnabled()
Cascade 설정 부모 엔티티(User)의 상태 변경이 자식 엔티티(Address 등)에 전파 cascade = CascadeType.ALL
orphanRemoval 부모와의 관계가 끊어진 자식 엔티티 자동 삭제 orphanRemoval = true
사용자명 구분 로그인용 사용자명(email)과 실제 이름(username) 구분 getUsername() 은 email 반환, getActualUsername() 은 실제 이름 반환

@joungGo joungGo added backend 백엔드 이슈 test 테스트 코드 이슈 feat 기능 labels Apr 16, 2025
@joungGo joungGo self-assigned this Apr 16, 2025
@joungGo joungGo linked an issue Apr 16, 2025 that may be closed by this pull request
joungGo added 2 commits April 16, 2025 23:03
트랜잭션이 종료되고 User 객체에서 address를 조회함에 따라 LazyInitializationException 에러 발생
@joungGo joungGo merged commit 4845b6b into develop Apr 16, 2025
@joungGo joungGo deleted the joungGo/feat-3 branch April 16, 2025 15:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend 백엔드 이슈 feat 기능 test 테스트 코드 이슈

Projects

None yet

Development

Successfully merging this pull request may close these issues.

프로필 관리 (USR-003)

1 participant